package com.edu.base.ums.bannerConfig.domain;

import java.util.Date;
import java.util.List;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.data.annotation.Transient;

import com.edu.base.ums.bannerPosition.domain.AdBannerPosition;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * banner配置对象 tb_banner_config
 * 
 * @author lzs
 * @date 2021-02-23
 */
@ApiModel("banner图对象")
public class TbBannerConfig extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String id;

    /** banner标题 */
    @Excel(name = "banner标题")
    @ApiModelProperty(value = "banner标题")
    private String bannerTitle;

    /** 图片 */
    @Excel(name = "图片")
    @ApiModelProperty(value = "图片")
    private String bannerUrl;

    /** 序号 */
    @Excel(name = "序号")
    @ApiModelProperty(value = "序号")
    private Long sortNum;

    /** 位置Id */
    @ApiModelProperty(value = "位置Id")
    private String bannerPositionId;

    /** 内容来源 */
    @ApiModelProperty(value = "内容来源")
    private String contentSource;

    /** 关联内容业务id */
    @ApiModelProperty(value = "关联内容业务id")
    private String contextIdValue;

    /** 外部链接 */
    @ApiModelProperty(value = "外部链接 ")
    private String outUrl;

    /** 自有内容 */
    @Excel(name = "自有内容")
    @ApiModelProperty(value = "自有内容 ")
    private String selfContent;

    /** 创建时间 */
    private Date createDate;

    /** 修改时间 */
    private Date updateDate;

    /** 备注 */
    private String remarks;

    /** 删除标记 */
    private String delFlag;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "开始时间")
    private Date startTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "结束时间 ")
    private Date endTime;

    /** 发布状态(1:已发布 2:未发布) */
    @Excel(name = "发布状态(1:已发布 2:未发布)")
    private String publishStatus;
    @Transient
    private List<AdBannerPosition>  adBannerPositionList;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setBannerTitle(String bannerTitle) 
    {
        this.bannerTitle = bannerTitle;
    }

    public String getBannerTitle() 
    {
        return bannerTitle;
    }
    public void setBannerUrl(String bannerUrl) 
    {
        this.bannerUrl = bannerUrl;
    }

    public String getBannerUrl() 
    {
        return bannerUrl;
    }
    public void setSortNum(Long sortNum) 
    {
        this.sortNum = sortNum;
    }

    public Long getSortNum() 
    {
        return sortNum;
    }
    public void setBannerPositionId(String bannerPositionId) 
    {
        this.bannerPositionId = bannerPositionId;
    }

    public String getBannerPositionId() 
    {
        return bannerPositionId;
    }
    public void setContentSource(String contentSource) 
    {
        this.contentSource = contentSource;
    }

    public String getContentSource() 
    {
        return contentSource;
    }
    public void setContextIdValue(String contextIdValue) 
    {
        this.contextIdValue = contextIdValue;
    }

    public String getContextIdValue() 
    {
        return contextIdValue;
    }
    public void setOutUrl(String outUrl) 
    {
        this.outUrl = outUrl;
    }

    public String getOutUrl() 
    {
        return outUrl;
    }
    public void setSelfContent(String selfContent) 
    {
        this.selfContent = selfContent;
    }

    public String getSelfContent() 
    {
        return selfContent;
    }
    public void setCreateDate(Date createDate) 
    {
        this.createDate = createDate;
    }

    @JsonIgnore
    public Date getCreateDate() 
    {
        return createDate;
    }
    public void setUpdateDate(Date updateDate) 
    {
        this.updateDate = updateDate;
    }

    @JsonIgnore
    public Date getUpdateDate() 
    {
        return updateDate;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    @JsonIgnore
    public String getRemarks() 
    {
        return remarks;
    }
    
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    @JsonIgnore
    public String getDelFlag() 
    {
        return delFlag;
    }
    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    @JsonIgnore
    public Date getStartTime() 
    {
        return startTime;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    @JsonIgnore
    public Date getEndTime() 
    {
        return endTime;
    }
    public void setPublishStatus(String publishStatus) 
    {
        this.publishStatus = publishStatus;
    }

    public String getPublishStatus()
    {
        return publishStatus;
    }

    public List<AdBannerPosition> getAdBannerPositionList() {
		return adBannerPositionList;
	}

	public void setAdBannerPositionList(List<AdBannerPosition> adBannerPositionList) {
		this.adBannerPositionList = adBannerPositionList;
	}

	public TbBannerConfig(String id, String bannerTitle, String bannerUrl, Long sortNum, String bannerPositionId,
			String contentSource, String contextIdValue, String outUrl, String selfContent, Date createDate,
			Date updateDate, String remarks, String delFlag, Date startTime, Date endTime, String publishStatus,
			List<AdBannerPosition> adBannerPositionList) {
		super();
		this.id = id;
		this.bannerTitle = bannerTitle;
		this.bannerUrl = bannerUrl;
		this.sortNum = sortNum;
		this.bannerPositionId = bannerPositionId;
		this.contentSource = contentSource;
		this.contextIdValue = contextIdValue;
		this.outUrl = outUrl;
		this.selfContent = selfContent;
		this.createDate = createDate;
		this.updateDate = updateDate;
		this.remarks = remarks;
		this.delFlag = delFlag;
		this.startTime = startTime;
		this.endTime = endTime;
		this.publishStatus = publishStatus;
		this.adBannerPositionList = adBannerPositionList;
	}

	public TbBannerConfig() {
		super();
 	}

	
	 
}
